package com.itheima.bigevent.mapper;

import com.itheima.bigevent.pojo.Category;
import org.apache.ibatis.annotations.*;

import java.util.List;

@Mapper
public interface CategoryMapper {

    /**
     * 添加文章分类
     * @param category 要添加的文章分类对象
     * @return 受影响行数
     */
    @Insert("INSERT INTO category(category_name, category_alias, create_user, create_time, update_time) VALUES (#{categoryName}, #{categoryAlias}, #{createUser}, #{createTime}, #{updateTime})")
    int add(Category category);

    /**
     * 获取指定用户创建的文章分类列表
     * @param createUser 创建用户ID
     * @return 该用户创建的文章分类列表
     */
    @Select("SELECT * FROM category WHERE create_user=#{createUser} ORDER BY create_time DESC")
    List<Category> list(Integer createUser);

    /**
     * 根据ID获取文章分类详情
     * @param id 文章分类ID
     * @return 文章分类详情
     */
    @Select("SELECT * FROM category WHERE id=#{id}")
    Category findById(Integer id);

    /**
     * 更新文章分类
     * @param category 要更新的文章分类对象
     */
    @Update("UPDATE category SET category_name=#{categoryName}, category_alias=#{categoryAlias}, update_time=#{updateTime} WHERE id=#{id}")
    int update(Category category);

    /**
     * 删除文章分类
     * @param id 要删除的文章分类ID
     */
    @Delete("DELETE FROM category WHERE id=#{id}")
    int delete(Integer id);
}
